A distributed computer system includes software components on multiple computers coupled to a network. The multiple computers communicate and coordinate actions by passing messages to each other over the network. Each networked computer or node generally has its own memory and local data store.
Key-value stores are an effective way to manage data, as they are not based on relational tables and structured query languages. Essentially, a key-value store is a large dictionary. Providing the key-value store with a key allows the update or return of a value, where the value can be data of almost any type, thus making the key-value store adaptable to a variety of applications.
A distributed computer system may include a file system for managing the data files accessible by the multiple computers or nodes in the distributed system. File systems rely on metadata (information about the data in the file system) to find and modify data in the file system.